Capture Object Array
[
{
"Tags": {
"Serialnumber": "11111"
},
"Fields": {
"value1": 0,
"value2": 1,
"value3": 2
},
"Timestamp": 1689690810500
},
{
"Tags": {
"Serialnumber": "11111"
},
"Fields": {
"value1": 2,
"value2": 1,
"value3": 0
},
"Timestamp": 1689690810600
}
]
Will create this:
| Timestamp | Serialnumber | VarName_value1 | VarName_value2 | VarName_value3 |
|---|---|---|---|---|
| 1689690810500 | 11111 | 0 | 1 | 2 |
| 1689690810600 | 11111 | 2 | 1 | 0 |
Tags is requiredAs for a single Capture Object, an array is read as a Capture Object Array only when its
objects carry Tags and Fields keys; without them it is read as plain JSON. Give every object in the
array both keys, and send "Tags": {} when there are no tags.
Timestamp
Each object's Timestamp is a Unix timestamp in milliseconds
(UTC), sent as a number, as for a single Capture Object. A numeric string
("1689690810500") is accepted too. Leave it out, or set it to 0, to use the time Capture Edge receives the
message.
An array always reads Timestamp as milliseconds. A value in seconds lands in January 1970 and the point is
dropped, with only a warning in the Collector log that does not name the variable:
Points with a timestamp beyond the retention policy have been dropped.
Edge2.3.1+ An element whose value is no date at all in milliseconds (a value in nanoseconds, for example) is stored at the time Capture Edge receives the message, with a warning in the Collector log that names the variable; the other elements are kept.
NOTE: In Capture Edge versions before 2.0.9 the field name was not prefixed with the variable name. To revert to this old behavior (to support older dashboards), set this on the custom Connect Settings (cogwheel next to the Connection settings):
{"DataParseOptions":{"CaptureObjectParseOptions":{"PrefixFieldNameWithVariableName":false}}}